package com.weitu.observation.observationMonthReport.service;

import com.weitu.observation.observationMonthReport.entity.ObservationMonthRepData;
import com.weitu.observation.observationMonthReport.entity.ObservationMonthReport;

import java.util.List;
import java.util.Map;

/**
 * Created by smp on 2017/4/1.
 */
public interface ObservationMonthReportService {
    /**
     * 查询月报列表
     * @param map
     * @return
     */
    List<ObservationMonthReport> queryList(Map<String,Object> map);
    /**
     * 查询数量
     * @param map
     * @return
     */
    int queryCount(Map<String,Object> map);
    /**
     * 查询本部门下的统计
     * @param deptId
     * @param date
     * @return
     */
    List<ObservationMonthRepData> queryDataList(String deptId,String date);

    /**
     * 插入数据
     * @param monthReport
     * @param monthRepDatas
     * @return
     */
    int insertReportAndData(ObservationMonthReport monthReport,List<ObservationMonthRepData> monthRepDatas);
    /**
     * 根据ID查数据
     * @param id
     * @return
     */
    ObservationMonthReport queryById(String id);
    /**
     * 查询观察月报关联的观察月报统计数据
     * @param id
     * @return
     */
    List<ObservationMonthRepData> queryByReportId(String id);
    /**
     * 查询重复的名字个数
     * @param map
     * @return
     */
    int selectJudgement(Map<String,Object> map);
    /**
     * 编辑月报
     * @param report
     * @return
     */
    int updateMontReport(ObservationMonthReport report,List<ObservationMonthRepData> monthRepDataList);
    /**
     * 删除观察月报
     * @param id
     * @return
     */
    int deleteReport(String id);


    /**
     * 查询本部门下的统计
     * @param deptId
     * @param date
     * @return
     */
    List<ObservationMonthRepData> queryDataListNext(String deptId,String date);
}
